﻿<?php
/**
 *此类包含了全部的与表单
 *有关的测试方法,其他处理
 *变淡的类会使用这个类.
 *
 *@time 2010-3-26
 *@version 1.0
 */
class check{
	/**
	 *首先是与用户登录注册有关的表单
 	 *有效性的测试方法
	 */

	/**
	 *对用户名进行测试判断是否可用
	 *如果可用则返回TRUE否则返回相
	 *应的错误信息。
	 *
	 */
	function check_name( $name ){
	
		/**
		 *查看用户输入的名字是否符合规则
		 *而这个规则应该是可以配置的
		 */
		if(1){
			return true ;
		}
		throw new Exception("");
	
	}
	/**
	 *查看用户输入的密码是否符合策略
	 *而这个策略也应该是可以配置的
	 */
	function check_passwd( $passwd ){
		
		if (1){
			
			return true ;
		}
		throw new Exception("");
	
	}


	function check_email( $email ){}

	/**
	 *查询数据库看是否所指定的用户名在user
	 *表中已经存在
	 *
	 *@param MDB2 $db 
	 *@param string $name  
	 *@return bool
	 */	
	function check_name_exixts( $db ,  $name ){
		
		$sql = "SELECT name FROM user WHERE name = '$name'" ;
		$res = $db->query( $sql );
		if (PEAR::isError($res)) {
			throw new Exception( $res->getMessage() );
		}

		if ( $res->numRows() == 1 ){
		//查询结果有且仅有一个才返回true
			return true;
	
		}else{ 
			return false ;
	       	}
			
		
	}
	

}
